﻿using System;
using System.Numerics;

class Tribonacci
{
    static void Main()
    {
        //Telerik Academy Exam 1 @ 6 Dec 2011 Morning

        BigInteger firstNum = int.Parse(Console.ReadLine());
        BigInteger secondNum = int.Parse(Console.ReadLine());
        BigInteger thirdNum = int.Parse(Console.ReadLine());
        int n = int.Parse(Console.ReadLine()); //това е което търсим като решение

        if (n == 1)
        {
            Console.WriteLine(firstNum);
        }
        else if (n == 2)
        {
            Console.WriteLine(secondNum);
        }
        else if (n == 3)
        {
            Console.WriteLine(thirdNum);
        }
        else
        {
            BigInteger result = 0;          //0 защото ще събираме, при умножение е 1
            for (int i = 3; i < n; i++)     //имаме първите 3 члена и затова програмата трябва да се изпълнява n-3 пъти
            {
                result = firstNum + secondNum + thirdNum;
                firstNum = secondNum;
                secondNum = thirdNum;
                thirdNum = result;
            }
            Console.WriteLine(result);
        }

        //checked
        //{
        //    int test = int.MaxValue;
        //    test++;
        //    Console.WriteLine(test);
        //}



    }
}

